ACTOR "Overlord Sentry" 31121
{
    //$Category DN3D Aliens //Sentry Bosses
	Obituary "%o was destroyed by an Overlord Sentry."
    Health 2600
    Radius 20
	Height 56
    Mass 26000
    Speed 13
    PainChance 11
	DropItem "LMG 2028" 64 50
	DropItem "Rocket Ammo" 128 5
    SeeSound "Overlord/Sight"
    DeathSound "Overlord/Death"
    ActiveSound "Overlord/Roam"
    PainSound "Overlord/Pain"
	BloodColor "D1 0C 00" 
	Species "Alien"
	DamageFactor "Damage_Foot", 0.29
	DamageFactor "Damage_Pistol", 1.14
    DamageFactor "Damage_DualPistol", 1.14
	DamageFactor "Damage_BlackTail", 1.20
    DamageFactor "Damage_DualBlackTail", 1.20
	DamageFactor "Damage_DesertEagle", 1.25
    DamageFactor "Damage_Shotgun", 1.15
	DamageFactor "Damage_SuperShotgun", 1.18
	DamageFactor "Damage_ExplosiveShotgun", 1.08
    DamageFactor "Damage_ChaingunCannon", 1.12
	DamageFactor "Damage_Minigun", 1.13
	DamageFactor "Damage_LMGBullet", 1.26
    DamageFactor "Damage_Explosion", 1.1
	DamageFactor "Damage_Shock", 1.1
	DamageFactor "Damage_BigShock", 1.15
	DamageFactor "Damage_Thunder", 1.1
	DamageFactor "Damage_BigThunder", 1.15
	DamageFactor "LaserExplosion", 0.0
    DamageFactor "Damage_Shrinker", 0.77
	DamageFactor "Damage_Expander", 0.78
	DamageFactor "Damage_Laser", 1.42
	DamageFactor "Damage_Railgun", 1.33
    DamageFactor "Ice", 0.45
    DamageFactor "Fire", 0.48
	DamageFactor "Damage_Pulse", 1.38
	DamageFactor "AlienPoison", 0.0
	DamageFactor "Trip_Punch", 0.0
	DamageFactor "Damage_Step", 0.0
	Painchance "Radial", 256
	Painchance "Damage_DesertEagle", 30
	Painchance "Damage_ExplosiveShotgun", 32
	Painchance "Damage_Minigun", 32
	Painchance "Damage_LMGBullet", 32
    Painchance "Damage_Explosion", 32
	Painchance "Damage_Laser", 32
	Painchance "LaserShot", 256
	Scale 0.7
    Monster	
	+NOTARGET
	+FLOORCLIP
	+DONTMORPH
	+BOSSDEATH
    +NOICEDEATH
	+NORADIUSDMG
	States
    {
	Spawn:
        OVSE A 0
        OVSE A 0 Thing_ChangeTID(0,1000)
        OVSE A 2 A_Look
        Loop
	See:
        OVSE AABB 3 A_Chase
	    OVSE B 0 A_SpawnItem("AlienStep9",0,0,0,0)
		OVSE CCDD 3 A_Chase 
	    OVSE D 0 A_SpawnItem("AlienStep9",0,0,0,0)
        Loop
	Missile:
	    OVSE E 0 A_Jump(92,"LMG")
        OVSE EF 8 A_FaceTarget
        OVSE G 9 A_FaceTarget
		OVSE G 0 A_FaceTarget
		OVSE G 0 A_PlayWeaponSound("Rpg/Shoot")
        OVSE H 5 Bright A_CustomMissile("OverLordSentryAttack",57,-13,0)
	    OVSE G 7 
		OVSE G 0 A_FaceTarget
		OVSE G 0 A_PlayWeaponSound("Rpg/Shoot")
        OVSE H 5 Bright A_CustomMissile("OverLordSentryAttack",57,13,0)
	    OVSE G 7 
		OVSE G 0 A_FaceTarget
		OVSE G 0 A_PlayWeaponSound("Rpg/Shoot")
        OVSE H 5 Bright A_CustomMissile("OverLordSentryAttack",57,-13,0)
	    OVSE G 7 
		OVSE G 0 A_FaceTarget
		OVSE G 0 A_PlayWeaponSound("Rpg/Shoot")
        OVSE H 5 Bright A_CustomMissile("OverLordSentryAttack",57,13,0)
	    OVSE G 7 
		OVSE G 0 A_FaceTarget
		OVSE G 0 A_PlayWeaponSound("Rpg/Shoot")
        OVSE H 5 Bright A_CustomMissile("OverLordSentryAttack",57,-13,0)
	    OVSE G 7 
		OVSE G 0 A_FaceTarget
		OVSE G 0 A_PlayWeaponSound("Rpg/Shoot")
        OVSE H 5 Bright A_CustomMissile("OverLordSentryAttack",57,13,0)
	    OVSE G 7 
		OVSE G 0 A_FaceTarget
		OVSE G 0 A_PlayWeaponSound("Rpg/Shoot")
        OVSE H 5 Bright A_CustomMissile("OverLordSentryAttack",57,-13,0)
	    OVSE G 7 
		OVSE G 0 A_FaceTarget
		OVSE G 0 A_PlayWeaponSound("Rpg/Shoot")
        OVSE H 5 Bright A_CustomMissile("OverLordSentryAttack",57,13,0)
	    OVSE G 7 
		OVSE G 0 A_FaceTarget
		OVSE G 0 A_PlayWeaponSound("Rpg/Shoot")
        OVSE H 5 Bright A_CustomMissile("OverLordSentryAttack",57,-13,0)
	    OVSE G 7 
		OVSE G 0 A_FaceTarget
		OVSE G 0 A_PlayWeaponSound("Rpg/Shoot")
        OVSE H 5 Bright A_CustomMissile("OverLordSentryAttack",57,13,0)
	    OVSE G 7 
		OVSE G 0 A_FaceTarget
		OVSE G 0 A_PlayWeaponSound("Rpg/Shoot")
        OVSE H 5 Bright A_CustomMissile("OverLordSentryAttack",57,-13,0)
	    OVSE G 7 
		OVSE G 0 A_FaceTarget
		OVSE G 0 A_PlayWeaponSound("Rpg/Shoot")
        OVSE H 5 Bright A_CustomMissile("OverLordSentryAttack",57,13,0)
	    OVSE G 7 A_CPosRefire
        Goto Missile+4
	LMG:
	    OVSE B 10 A_FaceTarget
		OVSE B 0 A_FaceTarget
	    OVSE B 0 A_PlaySound("LMG/Shoot",5)
		OVSE B 0 A_CustomMissile("LMGBulletEnforcer",29,10,Random(-2,2))
		OVSE B 0 A_CustomMissile("LMGBulletEnforcer",29,-10,Random(-2,2))
        OVSE I 2 Bright 
		OVSE B 2
		OVSE B 0 A_FaceTarget
		OVSE B 0 A_PlaySound("LMG/Shoot",5)
		OVSE B 0 A_CustomMissile("LMGBulletEnforcer",29,10,Random(-2,2))
		OVSE B 0 A_CustomMissile("LMGBulletEnforcer",29,-10,Random(-2,2))
        OVSE I 2 Bright 
		OVSE B 2
		OVSE B 0 A_FaceTarget
		OVSE B 0 A_PlaySound("LMG/Shoot",5)
		OVSE B 0 A_CustomMissile("LMGBulletEnforcer",29,10,Random(-2,2))
		OVSE B 0 A_CustomMissile("LMGBulletEnforcer",29,-10,Random(-2,2))
        OVSE I 2 Bright 
		OVSE B 2
		OVSE B 0 A_FaceTarget
		OVSE B 0 A_PlaySound("LMG/Shoot",5)
		OVSE B 0 A_CustomMissile("LMGBulletEnforcer",29,10,Random(-2,2))
		OVSE B 0 A_CustomMissile("LMGBulletEnforcer",29,-10,Random(-2,2))
        OVSE I 2 Bright 
		OVSE B 2
		OVSE B 0 A_FaceTarget
		OVSE B 0 A_PlaySound("LMG/Shoot",5)
		OVSE B 0 A_CustomMissile("LMGBulletEnforcer",29,10,Random(-2,2))
		OVSE B 0 A_CustomMissile("LMGBulletEnforcer",29,-10,Random(-2,2))
        OVSE I 2 Bright 
		OVSE B 2 A_CPosRefire
		Goto LMG+1
    Pain:
        OVSE S 6
        OVSE T 6 A_Pain
        Goto See
    Pain.Radial:
        OVSE S 0
        OVSE T 0 HealThing(2)
        Goto See
    Pain.LaserShot:
        OVSE S 0
		OVSE S 0 A_SpawnItemEx("PainTripLaser",0,0,5)
		OVSE T 0 HealThing(2)
		Goto See
	Death:
	    OVSE J 0
        OVSE J 0 A_Jump(128,1,10)
		OVSE J 10 A_Scream
	    OVSE K 8 
		OVSE L 8 A_KillMaster
        OVSE MNOP 8
		OVSE Q 8 A_NoBlocking
        OVSE R -1 
        Stop 
		OVS2 J 10 A_Scream
	    OVS2 K 8 
		OVS2 L 8 A_KillMaster
        OVS2 MNOP 8
		OVS2 Q 8 A_NoBlocking
        OVS2 R -1 
        Stop
    Death.Damage_Shrinker:
        OVSE A 0
        OVSE A 10 A_PlaySound("Shrinker/Shrink")
		OVSE A 1 A_SetScale(0.70,0.70)
        OVSE A 1 A_SetScale(0.68,0.68)
        OVSE A 1 A_SetScale(0.66,0.66)
        OVSE A 1 A_SetScale(0.64,0.64)
        OVSE A 1 A_SetScale(0.62,0.62)
        OVSE A 1 A_SetScale(0.60,0.60)
        OVSE A 1 A_SetScale(0.58,0.58)
        OVSE A 1 A_SetScale(0.56,0.56)
        OVSE A 1 A_SetScale(0.54,0.54)
        OVSE A 1 A_SetScale(0.52,0.52)
        OVSE A 1 A_SetScale(0.50,0.50)
        OVSE A 1 A_SetScale(0.48,0.48)
        OVSE A 1 A_SetScale(0.46,0.46)
        OVSE A 1 A_SetScale(0.44,0.44)
        OVSE A 1 A_SetScale(0.42,0.42)
        OVSE A 1 A_SetScale(0.40,0.40)
        OVSE A 1 A_SetScale(0.38,0.38)
        OVSE A 1 A_SetScale(0.36,0.36)
        OVSE A 1 A_SetScale(0.34,0.34)
        OVSE A 1 A_SetScale(0.32,0.32)
        OVSE A 1 A_SetScale(0.30,0.30)
        OVSE A 1 A_SetScale(0.28,0.28)
        OVSE A 1 A_SetScale(0.26,0.26)
        OVSE A 1 A_SetScale(0.24,0.24)
        OVSE A 1 A_SetScale(0.22,0.22)
        OVSE A 1 A_SetScale(0.20,0.20)
		OVSE A 0 A_KillMaster
		OVSE A 0 A_SpawnItemEx("Overlord Sentry Shrunken",0,0,0,0,0,0,0,32,0)
        Stop
	DeathExplosion:
	    OVSE A 0
        OVSE A 0 A_PlaySound("Gib/Explode",5)
        OVSE A 0 A_NoBlocking
		OVSE A 0 A_KillMaster
        OVSE AAAAA 0 A_SpawnDebris("DukeGibs1")
        OVSE AAAAA 0 A_SpawnDebris("DukeGibs2")
		OVSE AAAAA 0 A_SpawnDebris("DukeGibs3")
        OVSE AAAAA 0 A_SpawnDebris("DukeGibs4")
        OVSE AAAAA 0 A_SpawnDebris("DukeGibs5")		
        OVSE AAAAAAAAAAAAA 0 A_SpawnDebris("DukeGibs6")
	    TNT1 A 1
	    Stop
    Death.Damage_Expander:
        OVSE A 0
		OVSE A 1 A_PlaySound("Expander/Expand",5)
		OVSE A 1 A_SetScale(0.71,0.71)
        OVSE A 1 A_SetScale(0.72,0.72)
		OVSE A 1 A_SetScale(0.73,0.73)
		OVSE A 1 A_SetScale(0.74,0.74)
		OVSE A 1 A_SetScale(0.75,0.75)
		OVSE A 1 A_SetScale(0.76,0.76)
		OVSE A 1 A_SetScale(0.77,0.77)
		OVSE A 1 A_SetScale(0.78,0.78)
		OVSE A 1 A_SetScale(0.79,0.79)
		OVSE A 1 A_SetScale(0.80,0.80)
		OVSE A 1 A_SetScale(0.81,0.81)
		OVSE A 1 A_SetScale(0.82,0.82)
		OVSE A 1 A_SetScale(0.83,0.83)
		OVSE A 1 A_SetScale(0.84,0.84)
		OVSE A 1 A_SetScale(0.85,0.85)
		OVSE A 1 A_SetScale(0.86,0.86)
		OVSE A 1 A_SetScale(0.87,0.87)
		OVSE A 1 A_SetScale(0.88,0.88)
		OVSE A 1 A_SetScale(0.89,0.89)
		OVSE A 1 A_SetScale(0.90,0.90)
		OVSE A 1 A_SetScale(0.91,0.91)
		OVSE A 1 A_SetScale(0.92,0.92)
		OVSE A 1 A_SetScale(0.93,0.93)
		OVSE A 1 A_SetScale(0.94,0.94)
		OVSE A 1 A_SetScale(0.95,0.95)
		OVSE A 1 A_SetScale(0.96,0.96)
		OVSE A 1 A_SetScale(0.97,0.97)
		OVSE A 1 A_SetScale(0.98,0.98)
		OVSE A 1 A_SetScale(0.99,0.99)
		OVSE A 1 A_SetScale(1.00,1.00)
		OVSE A 1 A_SetScale(1.01,1.01)
		OVSE A 1 A_SetScale(1.02,1.02)
		OVSE A 1 A_SetScale(1.03,1.03)
		OVSE A 1 A_SetScale(1.04,1.04)
		OVSE A 1 A_SetScale(1.05,1.05)
		OVSE A 1 A_SetScale(1.06,1.06)
		OVSE A 1 A_SetScale(1.07,1.07)
		OVSE A 1 A_SetScale(1.08,1.08)
		OVSE A 1 A_SetScale(1.09,1.09)
		OVSE A 1 A_SetScale(1.10,1.10)
		OVSE A 1 A_SetScale(1.11,1.11)
		OVSE A 1 A_SetScale(1.12,1.12)
		OVSE A 1 A_SetScale(1.13,1.13)
		OVSE A 1 A_SetScale(1.14,1.14)
        OVSE A 25 A_SetScale(1.15,1.15)
		OVSE A 0 A_KillMaster
        OVSE A 0 A_SpawnItemEx("ExpanderExplosion",0,0,32,0,0,0,0,SXF_ABSOLUTEVELOCITY,0)
        Goto DeathExplosion
	}
}

ACTOR "Overlord Sentry Shrunken" 
{
    Health 30
    Radius 20
    Height 16
    Mass 0x7FFFFFFF
    Speed 3
    PainChance 128
    SeeSound "Overlord/Sight"
    DeathSound "Overlord/Death"
    ActiveSound "Overlord/Roam"
    PainSound "Overlord/Pain"
	BloodColor "D1 0C 00" 
	Species "Alien"
    Scale 0.20
	DamageFactor "Damage_Foot", 5.0
	DamageFactor "LaserExplosion", 0.0
    DamageFactor "Damage_Shrinker", 0.0
	DamageFactor "Trip_Punch", 0.0
	Painchance "LaserShot", 256
	+ISMONSTER
	+SHOOTABLE
    +SOLID
	+NOTARGET
	+FRIGHTENED
    States
    {
    Spawn:
        OVSE A 0 
		OVSE A 0 A_JumpIfInventory("ShrunkenCheck",40,"Restore")
		OVSE A 0 A_GiveInventory("ShrunkenCheck",1)
        OVSE AAAAAAAA 3 A_Look
        Loop
    See:
	    OVSE A 0 
		OVSE A 0 A_JumpIfInventory("ShrunkenCheck",40,"Restore")
		OVSE A 0 A_GiveInventory("ShrunkenCheck",1)
		OVSE AABB 3 A_Chase
		OVSE B 0 A_SpawnItem("AlienStep9",0,0,0,0)
		OVSE CCDD 3 A_Chase
		OVSE D 0 A_SpawnItem("AlienStep9",0,0,0,0)
        Loop
    Pain:
		OVSE S 6 
		OVSE T 6 A_Pain
        Goto See 
	Pain.LaserShot:
	    OVSE S 0 
		OVSE S 0 A_SpawnItemEx("PainTripLaser",0,0,8)
		OVSE T 0 HealThing(2)
		Goto See
	Pain.Radial:
        OVSE S 0
        OVSE T 0 HealThing(2)
        Goto See
	Restore:
	    OVSE A 0
        OVSE A 10 A_PlaySound("Shrinker/Shrink")
		OVSE A 1 A_SetScale(0.20,0.20)
        OVSE A 1 A_SetScale(0.22,0.22)
        OVSE A 1 A_SetScale(0.26,0.24)
        OVSE A 1 A_SetScale(0.24,0.24)
        OVSE A 1 A_SetScale(0.28,0.28)
        OVSE A 1 A_SetScale(0.30,0.30)
        OVSE A 1 A_SetScale(0.32,0.32)
        OVSE A 1 A_SetScale(0.34,0.34)
        OVSE A 1 A_SetScale(0.36,0.36)
        OVSE A 1 A_SetScale(0.38,0.38)
        OVSE A 1 A_SetScale(0.40,0.40)
        OVSE A 1 A_SetScale(0.42,0.42)
        OVSE A 1 A_SetScale(0.44,0.44)
        OVSE A 1 A_SetScale(0.46,0.46)
        OVSE A 1 A_SetScale(0.48,0.48)
        OVSE A 1 A_SetScale(0.50,0.50)
        OVSE A 1 A_SetScale(0.52,0.52)
        OVSE A 1 A_SetScale(0.54,0.54)
        OVSE A 1 A_SetScale(0.56,0.56)
        OVSE A 1 A_SetScale(0.58,0.58)
        OVSE A 1 A_SetScale(0.60,0.60)
        OVSE A 1 A_SetScale(0.62,0.62)
        OVSE A 1 A_SetScale(0.64,0.64)
        OVSE A 1 A_SetScale(0.66,0.66)
        OVSE A 1 A_SetScale(0.68,0.68)
        OVSE A 1 A_SetScale(0.70,0.70)
		OVSE A 0 A_SpawnItemEx("Overlord Sentry",0,0,0,0,0,0,0,32,0)
        Stop
	Death:
	    OVSE A 0
		OVSE A 0 A_Stop
        OVSE A 0 A_PlaySound("DukeNukem/DeathLittle",5)
        OVSE A 0 A_NoBlocking
        OVSE A 0 A_SpawnDebris("DukeGibs1")
        OVSE A 0 A_SpawnDebris("DukeGibs2")
		OVSE A 0 A_SpawnDebris("DukeGibs3")
        OVSE A 0 A_SpawnDebris("DukeGibs4")
        OVSE A 0 A_SpawnDebris("DukeGibs5")		
        OVSE AAAAAAA 0 A_SpawnDebris("DukeGibs6")
	    TNT1 A 1
	    Stop
    }
}

ACTOR OverLordSentryAttack
{
    Radius 2
    Height 2
    Speed 30
    Damage (5)
    Projectile
    DeathSound "Rpg/BlowUp"
    Scale 0.23
	Decal "Scorch"
    DamageType "Damage_Explosion"
	+RANDOMIZE
	+THRUGHOST
    States
    {
    Spawn:
        RPGX A 0 A_PlaySound("MiniRocket/Fly",CHAN_BODY,1.0,True)
		RPGX A 1 Bright A_SpawnItemEx("DevastatorSmoke",0,0,0,Random(-1,1),Random(-1,1),Random(-1,1))
		Loop
    Death:
		TNT1 A 0 A_StopSound(CHAN_BODY)
		TNT1 A 0 A_PlaySound("Explosion/Sounds2",11)
		TNT1 A 0 A_Explode(80,128)
        TNT1 A 1 A_SpawnItemEx("DukeNukemExplosion2",0,0,0,0,0,0,0,0)
        Stop
        }
}

ACTOR AlienStep9
{
    +NOINTERACTION
    +CLIENTSIDEONLY
    States
    {
    Spawn:
	    TNT1 A 0
	    TNT1 A 0 A_PlaySound("Foot/AlienStep9")
	    Stop
	    }
}